// 入口函数
main() {
  // 空安全机制
  // 1. 定义变量时，添加?表示该变量可以为空
  String? name = '张三';

  // 2. 调用变量时，添加?表示该变量可以为空
  print(name.length);

  // 3. 调用变量时，添加!表示该变量不能为空
  print(name.length);

  // 4. 调用变量时，添加??表示该变量可以为空，为空时返回默认值
  print(name ?? '默认值');

  // 5. 调用变量时，添加??=表示该变量可以为空，为空时赋值
  name ??= '默认值';
  print(name);

  
  // 6. 调用变量时，添加!表示该变量不能为空，为空时会报错
  // print(name!.length);

}